I am using tinify.fromBuffer() and .toBuffer() to compress image. I am passing in a node.js buffer that I am creating like so: Buffer.from("data:image/png;base64,iVBORw0KGgoA [...]") to tinify.fromBuffer.
I am doing everything as described in the official TinyPNG reference, but I am getting this error:
C:\programming\zoomino 6\html5help\node_modules\promise-nodeify\index.js:35
later(() => { throw err; });
^
ClientError: Request is invalid: request body requires key 'source'; request body has unknown keys 'type', 'data'. (HTTP 400/Bad request)
at new ClientError (C:\programming\zoomino 6\html5help\node_modules\tinify\lib\tinify\Error.js:44:1)
at Function.create (C:\programming\zoomino 6\html5help\node_modules\tinify\lib\tinify\Error.js:37:16)
at IncomingMessage.<anonymous> (C:\programming\zoomino 6\html5help\node_modules\tinify\lib\tinify\Client.js:86:59)
at IncomingMessage.emit (node:events:402:35)
at endReadableNT (node:internal/streams/readable:1343:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
status: 400
}
Here is my code:
const tinify = require("tinify")
tinify.key = "ApiKey"
const image = "data:image/png;base64,iVBORw0KGgoA [...]"
tinify.fromBuffer(Buffer.from(image)).toBuffer(function(error, data) {
if(error) throw error
console.log(data)
})